UNPKG

@networkpro/web

Version:

Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies

36 lines (29 loc) 1.02 kB
/* ========================================================================== src/routes/pgp/[key]/+server.js Copyright © 2025 Network Pro Strategies (Network Pro™) SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later This file is part of Network Pro. ========================================================================== */ import { error } from '@sveltejs/kit'; import fs from 'fs/promises'; import path from 'path'; /** * @type {import('@sveltejs/kit').RequestHandler} */ export async function GET({ params, setHeaders }) { const key = params.key; if (!key || !key.endsWith('.asc')) { throw error(400, 'Invalid or missing file name'); } const filePath = path.resolve('static/pgp', key); try { const file = await fs.readFile(filePath); setHeaders({ 'Content-Type': 'application/pgp-keys', 'Content-Disposition': `attachment; filename="${key}"`, }); return new Response(file); } catch { return new Response('File not found', { status: 404 }); } }